package com.aipartner.service;

import com.aipartner.entity.UserWorkLike;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

/**
 * 用户作品点赞服务接口
 * 
 * @author AI Partner Team
 * @since 2024-01-20
 */
public interface UserWorkLikeService extends IService<UserWorkLike> {
    
    /**
     * 切换点赞状态
     * 
     * @param workId 作品ID
     * @param userId 用户ID
     * @return 点赞后的状态
     */
    Boolean toggleLike(Long workId, Long userId);
    
    /**
     * 获取点赞信息
     * 
     * @param workId 作品ID
     * @param userId 用户ID
     * @return 点赞信息 {liked: true/false, likeCount: 数量}
     */
    Map<String, Object> getLikeInfo(Long workId, Long userId);
    
    /**
     * 获取作品点赞数
     * 
     * @param workId 作品ID
     * @return 点赞数
     */
    int getLikeCount(Long workId);
    
    /**
     * 检查用户是否已点赞
     * 
     * @param workId 作品ID
     * @param userId 用户ID
     * @return 是否已点赞
     */
    boolean isLikedByUser(Long workId, Long userId);
}
